Skip to content

org-mode, kotl-mode - Replace Action/Assist Key behavior in cells with func variables; update kotl-mode with better Org and Emacs key compatibility - #1069

Draft
rswgnu wants to merge 6 commits into
masterfrom
rsw
Draft

rswgnu wants to merge 6 commits into
masterfrom
rsw

Conversation

@rswgnu

@rswgnu rswgnu commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner
  • INCOMPATIBLE CHANGE: These variables:
    kotl-mode:action-key-default-function, kotl-mode:assist-key-default-function
    smart-org-action-key-heading-function, smart-org-assist-key-heading-function
    by default are set to no-ops and outline visibility cycling will now be handled by TAB/S-TAB rather than the Smart Keys.

  • hsys-org-cycle-global - Change all org-global-cycle' references to org-cycle-global' and set this command to `org-cycle-global'.

  • kcell-data:create - Signal an error if buffer-local `kotl-kview' is not a valid kview.

  • hywiki-word-action-key-creation-allowed-p,
    hywiki-word-create-exclude-action-key-modes - Add and use in ibtype, `hwyiki-word' to control which major modes disable Action Key WikiWord creation (none, by default).

  • hyrolo-yank - Interactively, indicate whether yanking an entry or a tree (sub-entries).

  • hsys-org-cycle-global - Trigger error to upgrade Org if `org-cycle-global'
    is not defined.

  • kotl/EXAMPLE.kotl:

  • man/hyperbole.texi (Promoting and Demoting) - Remove {M-0 TAB} and {M-0 S-TAB} for demoting and promoting within Org tables as M-0 is used as a flag to these commands to also fill cells. Additionally, these bindings worked only when `kotl-mode:tab-flag' /= 'cycle.

  • kotl-mode:tab/untab-command - Remove {M-1 TAB} for toggling TAB/S-TAB function for greater Org compatibility. {M-0 TAB} still works for tree demotion/promotion if not in Org-style cycle mode. Use existing bindings of {C-c C-.} and {C-c C-,} for tree demotion/promotion regardless of TAB mode.

  • kotl-mode:setup-keymap - Add {C-c C-]} binding for `kotl-mode:toggle-tab-flag' to replace {M-1 TAB}.

  • kotl/EXAMPLE.kotl - Doc updates for various TAB key uses and settings of `kotl-mode:tab-flag'.

  • link-to-kcell - Fix to handle when 'cell-ref' has an extra trailing punctuation character that needs removal, like: "3b=071.".

  • kotl-mode:tab-flag - Make 'cycle the default for Org-style compatibility.

  • kotl-mode:letter-prefix - Add comment to the :custom setting of how to change the Koutliner {C-c ; } bindings back to {C-c } if desired. Bindings were changed.

  • kotl-mode:setup-keymap - Enable letter key bindings to handle prefix remapping.

  • kotl-mode:set-letter-prefix-standard, kotl-mode:set-letter-prefix-control-c) - Add these discrete commands for interactive use and use them in `kotl-mode:toggle-letter-prefix'.

  • kotl-mode-letter-map, kotl-mode-letter-prefix - Add.

  • kotl-mode:setup-keymap - INCOMPATIBLE CHANGE: Use above to move all {C-c } bindings to {C-c ; } so do not override what should be left as user-bindable keys. User can then change the C-c ; prefix as desired by setting `kotl-mode-letter-prefix'.

  • kotl-mode:toggle-letter-prefix - Add and bind to {M-1 C-c C-l}.

  • kview:set-label-type - Update to take a prefix arg and call the above function when sent an arg of 1.

  • hsys-flymake-global-control-l-prefix-map - Create and fix global {C-c C-l t} map and key for flymake toggling.

  • man/hyperbole.texi (Smart Key - Flymake Mode) - Note that {C-c C-l t} is a global binding made only if {C-c C-l} is unbound when Hyperbole is loaded.

  • kotl-mode - Ensure `flymake-mode' is disabled or it will override the {C-c C-l} in this mode.

  • hui-mini.el (hui:menu-mode-map)

  • hyrolo.el (hyrolo-mode-map) - Adjust to bind same TAB/S-TAB keys as in Koutliner. INCOMPATIBLE CHANGE: Remove M-TAB binding since often used to switch applications.

rswgnu added 4 commits October 6, 2026 00:59
…h func variables

INCOMPATIBLE CHANGE: These variables:
  kotl-mode:action-key-default-function, kotl-mode:assist-key-default-function
  smart-org-action-key-heading-function, smart-org-assist-key-heading-function
by default are set to no-ops and outline visibility cycling will now be
handled by TAB/S-TAB rather than the Smart Keys.

hsys-org-cycle-global - Change all `org-global-cycle' references to
`org-cycle-global' and set this command to `org-cycle-global'.

kcell-data:create - Signal an error if buffer-local `kotl-kview' is not a
valid kview.

hywiki-word-action-key-creation-allowed-p,
hywiki-word-create-exclude-action-key-modes - Add and use in ibtype, `hwyiki-word'
to control which major modes disable Action Key WikiWord creation (none, by default).

hyrolo-yank - Interactively, indicate whether yanking an entry or a tree (sub-entries).
Two tests: demo-org-hide-header-test and
smart-org-mode-on-header-cycles-visibility.
hsys-org-cycle-global - Trigger error to upgrade Org if `org-cycle-global'
is not defined.

kotl/EXAMPLE.kotl:
man/hyperbole.texi (Promoting and Demoting) - Remove {M-0 TAB} and {M-0 S-TAB}
for demoting and promoting within Org tables as M-0 is used as a flag to
these commands to also fill cells.  Additionally, these bindings worked only
when `kotl-mode:tab-flag' /= 'cycle.

kotl-mode:tab/untab-command - Remove {M-1 TAB} for toggling TAB/S-TAB
function for greater Org compatibility.  {M-0 TAB} still works for tree
demotion/promotion if not in Org-style cycle mode.  Use existing bindings of
{C-c C-.} and {C-c C-,} for tree demotion/promotion regardless of TAB mode.

kotl-mode:setup-keymap - Add {C-c C-]} binding for `kotl-mode:toggle-tab-flag'
to replace {M-1 TAB}.

kotl/EXAMPLE.kotl - Doc updates for various TAB key uses and settings of
`kotl-mode:tab-flag'.

link-to-kcell - Fix to handle when 'cell-ref' has an extra trailing punctuation
character that needs removal, like: "3b=071.".

kotl-mode:tab-flag - Make 'cycle the default for Org-style compatibility.

kotl-mode:letter-prefix - Add comment to the :custom setting of how to change
the Koutliner {C-c ; <letter>} bindings back to {C-c <letter>} if desired.
Bindings were changed.

kotl-mode:setup-keymap - Enable letter key bindings to handle prefix remapping.

kotl-mode:set-letter-prefix-standard, kotl-mode:set-letter-prefix-control-c) -
Add these discrete commands for interactive use and use them in
`kotl-mode:toggle-letter-prefix'.
kotl-mode-letter-map, kotl-mode-letter-prefix - Add.
kotl-mode:setup-keymap - INCOMPATIBLE CHANGE: Use above to move all {C-c <letter>}
bindings to {C-c ; <letter>} so do not override what should be left as
user-bindable keys.  User can then change the C-c ; prefix as desired by setting
`kotl-mode-letter-prefix'.
kotl-mode:toggle-letter-prefix - Add and bind to {M-1 C-c C-l}.
kview:set-label-type - Update to take a prefix arg and call the above function
when sent an arg of 1.

hsys-flymake-global-control-l-prefix-map - Create and fix global {C-c C-l t}
map and key for flymake toggling.

man/hyperbole.texi (Smart Key - Flymake Mode) - Note that {C-c C-l t} is a global
binding made only if {C-c C-l} is unbound when Hyperbole is loaded.

kotl-mode - Ensure `flymake-mode' is disabled or it will override the {C-c C-l}
in this mode.

hui-mini.el (hui:menu-mode-map)
hyrolo.el (hyrolo-mode-map) - Adjust to bind same TAB/S-TAB keys as in Koutliner.
INCOMPATIBLE CHANGE: Remove M-TAB binding since often used to switch applications.
@rswgnu rswgnu changed the title org-mode, kotl-mode - Replace Action/Assist Key behavior in cells with func variables org-mode, kotl-mode - Replace Action/Assist Key behavior in cells with func variables; update kotl-mode with better Org and Emacs key compatibility Oct 8, 2026
rswgnu added 2 commits October 8, 2026 15:51
hkey-help - Fix error when `actype' was nil because there is no
`hbut:current' actype but there is a `cmd-sym'.  In this case,
set `actype' to `cmd-sym' and use its doc string.

kotl-mode:toggle-letter-prefix, kotl-mode:set-letter-prefix-standard): Add
support for matching "\C-c" in addition to "C-c".
kotl-mode:set-letter-prefix-control-c - Trigger error if
'kotl-mode:letter-prefix' is not a string.  Also, change so does not disable
any prior prefix so default letter bindings are always available.
kotl-mode:set-letter-prefix-standard - Add optional 'letter-prefix' argument
so user can specify own prefix to letter keys.
man/use-package (hyperbole): Offer commented out settings for the above.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant